package com.parking.order.service;

import com.parking.common.core.model.PageInfo;
import com.parking.order.model.OrderOvertime;
import com.baomidou.mybatisplus.extension.service.IService;
import com.parking.order.model.dto.OvertimeDto;
import com.parking.order.model.param.FindOvertimeByOrderNumParam;
import com.parking.order.model.param.FindOvertimeParam;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 吴彦祖
 * @since 2023年11月28日
 */
public interface IOrderOvertimeService extends IService<OrderOvertime> {

    /**
     * 出租客根据订单编号查询超时订单
     * 参数 出租客Id rentersId
     *      用户Id  userId
     *      订单编号 orderInfoNum
     * 返回  开始时间 startTime
     *      结束时间 endTime
     *      持续小时 enduHour
     *      支付价格 payPrice
     *      支付状态 payState 0未支付 1已支付
     *      支付时间 payTime
     * */
    OvertimeDto findOvertimeByOrderNum(FindOvertimeByOrderNumParam param) throws Exception;

    /**
     * 平台分页查询超时订单
     * 参数 页数 pageNum
     *     每页大小 pageSize
     *     订单编号 orderInfoNum
     *     用户信息Id userInfoId
     *     物业信息Id certifiedInfoId
     *     车位信息Id  stallInfoId
     *     支付状态 payState 0未支付 1已支付
     *     开始日期 startDate
     *     结束日期 endDate
     *     平台Id platformId
     *     物业Id certifiedId
     *
     * 返回 订单编号 orderInfoNum
     *      用户信息Id userInfoId
     *      用户名称 userInfoName
     *      车牌号 userCarPlate
     *      车位信息Id stallInfoId
     *      车位号 stallInfo
     *      物业信息Id certifiedInfoId
     *      物业名称 certifiedInfoName
     *      开始时间 startTime
     *      结束时间 endTime
     *      支付时间 payTime
     *      持续小时 enduHour
     *      支付状态 payState 未支付 已支付
     *      支付价格 payPrice
     * */
    PageInfo findOvertime(FindOvertimeParam param) throws Exception;
}
